Chip away at unnecessary cruft with NEW_STRINGS.
authorrobertlipe <robertlipe@gmail.com>
Tue, 31 Dec 2013 20:10:03 +0000 (20:10 +0000)
committerrobertlipe <robertlipe@gmail.com>
Tue, 31 Dec 2013 20:10:03 +0000 (20:10 +0000)
gpsbabel/geo.cc
gpsbabel/gpx.cc
gpsbabel/unicsv.cc

index f28de78c440ca17fcc36f4026b4f1703b0950fb7..1fb260b26a8dd92c2f13a5614ab8af3ffcd561e4 100644 (file)
@@ -47,23 +47,6 @@ QString geo_read_fname;
 
 geocache_container wpt_container(const QString&);
 
-// Compensate for most of class waypt still using C strings and needing
-// copies anyway.
-char* ShimString(const QString& s)
-{
-  return xstrdup(s.toUtf8().data());
-}
-char* ShimString(const QStringRef& s)
-{
-  return xstrdup(s.toString().toUtf8().data());
-}
-
-double ShimAttributeDouble(const QXmlStreamAttributes& a, const QString& v)
-{
-  QString rv  = a.value(v).toString();
-  return rv.toDouble();
-}
-
 void GeoReadLoc()
 {
   waypoint* wpt = NULL;
@@ -82,12 +65,12 @@ void GeoReadLoc()
         wpt->altitude = 0;
       } else if (current_tag == "/loc/waypoint/name") {
         QXmlStreamAttributes a = reader.attributes();
-        wpt->shortname = ShimString(a.value("id"));
-        wpt->description = ShimString(reader.readElementText());
+        wpt->shortname = a.value("id").toString();
+        wpt->description = reader.readElementText();
       } else if (current_tag == "/loc/waypoint/coord") {
         QXmlStreamAttributes a = reader.attributes();
-        wpt->latitude = ShimAttributeDouble(a, "lat");
-        wpt->longitude = ShimAttributeDouble(a, "lon");
+        wpt->latitude = a.value("lat").toString().toDouble();
+        wpt->longitude = a.value("lon").toString().toDouble();
       } else if (current_tag == "/loc/waypoint/type") {
         wpt->icon_descr = reader.readElementText();
       } else if (current_tag == "/loc/waypoint/link") {
index 9a455a2686e94d859baba72bf568b1230ac1094e..b3aeacf0d884ae162af3d7528eaff370cfedeaad 100644 (file)
@@ -1033,7 +1033,7 @@ gpx_end(const QString& el)
      * Route-specific tags.
      */
   case tt_rte_name:
-    rte_head->rte_name = xstrdup(cdatastr);
+    rte_head->rte_name = cdatastr;
     break;
   case tt_rte:
     break;
@@ -1049,7 +1049,7 @@ gpx_end(const QString& el)
     wpt_tmp = NULL;
     break;
   case tt_rte_desc:
-    rte_head->rte_desc = xstrdup(cdatastr);
+    rte_head->rte_desc = cdatastr;
     break;
   case tt_rte_number:
     rte_head->rte_num = cdatastr.toInt();
@@ -1058,7 +1058,7 @@ gpx_end(const QString& el)
      * Track-specific tags.
      */
   case tt_trk_name:
-    trk_head->rte_name = xstrdup(cdatastr);
+    trk_head->rte_name = cdatastr;
     break;
   case tt_trk:
     break;
@@ -1077,7 +1077,7 @@ gpx_end(const QString& el)
     wpt_tmp = NULL;
     break;
   case tt_trk_desc:
-    trk_head->rte_desc = xstrdup(cdatastr);
+    trk_head->rte_desc = cdatastr;
     break;
   case tt_trk_number:
     trk_head->rte_num = cdatastr.toInt();
@@ -1106,7 +1106,7 @@ gpx_end(const QString& el)
   case tt_wpt_name:
   case tt_rte_rtept_name:
   case tt_trk_trkseg_trkpt_name:
-    wpt_tmp->shortname = xstrdup(cdatastr);
+    wpt_tmp->shortname = cdatastr;
     break;
   case tt_wpt_sym:
   case tt_rte_rtept_sym:
@@ -1121,7 +1121,7 @@ gpx_end(const QString& el)
   case tt_wpt_cmt:
   case tt_rte_rtept_cmt:
   case tt_trk_trkseg_trkpt_cmt:
-    wpt_tmp->description = xstrdup(cdatastr);
+    wpt_tmp->description = cdatastr;
     break;
   case tt_wpt_desc:
   case tt_trk_trkseg_trkpt_desc:
index f2b5e1d5f0e6ec45d30912bf257acf37afe1e999..210bc2e49306f74333b4675d9224054a1aa46f92 100644 (file)
@@ -704,15 +704,15 @@ unicsv_parse_one_line(char* ibuf)
       break;
 
     case fld_shortname:
-      wpt->shortname = xstrdup(s);
+      wpt->shortname = s;
       break;
 
     case fld_description:
-      wpt->description = xstrdup(s);
+      wpt->description = s;
       break;
 
     case fld_notes:
-      wpt->notes = xstrdup(s);
+      wpt->notes = s;
       break;
 
     case fld_url: {